home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
opus
/
sfued110.zip
/
README17.SFU
< prev
next >
Wrap
Text File
|
1992-11-16
|
25KB
|
533 lines
StormFront User Editor for the Opus CBCS
Copyright 1992 by Kevin Silcox
November 16, 1992
Disclaimer
----------
This software is available "AS IS". It is not guaranteed to work at
all. If it trashes your system or ruins your life, you have been warned.
I am not responsible for any damages incurred from the use or misuse of
this software. There is also no fee to use this software to keep with
the spirit of Opus.
You will have to get by without any real documentation until I, or
someone else writes some for this program. If you know Opus and how it
works, then this program should be pretty much self-explanatory as far
as what the actual changes to the user database do. So for now, there's
only a brief description of how to use the actual functions of the program.
Even though SFUE17 may not have the most user-friendly interface, I think
that its flexibility is worth the struggle you *may* go through when you
first start to use it. Enjoy!
WARNING: If you're running Opus in a multi-tasking environment then make
sure that you DO NOT Sort or Zap the database when there is a potential
for Opus to need to use the user database! (i.e. If a user calls and
tries to login.)
--=={*-------------------------------------------------*}==--
This version: 1.10 ---> For Opus v1.7+
Requires approximately 140K of Available RAM. Requires
more if using the Sort option (based on number of records
in your database --> about 28 bytes for each record, up to
a maximum of about 2300 records, plus 8 bytes per CWF). If
anyone exceeds 2300 records then please let me know. The
maximum memory requirement should be about 200K.
**> I recommend you use an EXE compressor such as PKlite in
order to reduce the program size. (About 53% with PKlite v1.14)
This program is for maintaining the user database used with
Opus. It is capable of adding users, marking them to be ReUsed,
Purged, Normal, and even Removing users marked to be Purged (Zap),
along with many other nifty features.
-*-
The program accepts a command-line argument for local and non-
local use. Entering an argument other than those arguments listed
will display a brief help screen. You may either use '-' or '/'
characters for each argument. The arguments are as follows:
/VM force Mono mode /VC force Color mode /VA AutoDetect Video
/VD force DOS Writes /VB force BIOS Writes /VX Translate IBM Graphics
/Z[E][days] Zap database /P{priv}[+/-] /Ud:\\path\\[filename]
/O[{1st}[{order}][,{2nd}[{order}]][,start[,end]]] Sort database
/I Install/Reconfigure /E[days] Expiration Reset
*
The /VM and /VC options are only to force the memory address for the
direct-screen writes if the program doesn't recognize the correct video
mode. If no arguments are entered, the program will AutoDetect which
video mode to use for the direct-screen writes (or whatever mode has
been selected as the default). If you use the DOS option then I/O may
be redirected.
*
The /U allows you to specify the name of the User Database file
that you want to use instead of the default USER.DAT. If you specify
just the full path without a filename, USER.DAT will be assumed (you
must have a "\" after the path though).
*
You may either use the /VX (Translate) option from the command-line,
or use CTRL-X to toggle IBM Graphics translation ON and OFF from the
user edit screen. NOTE: When translation is turned ON, the IBM Graphics
characters in the Report will be translated also.
*
There are several ways of executing a database Zap. If you just
specify /Z then only records that have a Status of 'Purge' will be
removed. If you specify a number (/Z90) then any user that hasn't called
in that many days will be removed. If you specify /ZE then SFUE17 will
check the expiration fields in each record to decide whether a user
should be removed or demoted (based on the Date or Time fields and Action
field). You can localize the processing based on privilege level if you
use the /P option. See the Zap option below for more information.
i.e. SFUE17 /ZE /PN-
The above selection would check the expiration fields, check the user
status field, and *only* remove the user if their privilege level is
Normal or below.
*
The /P is a Privilege level selector that can be used with either
the /E or /Z options to localize processing to specific privilege
levels (or level). If you use *both* the /Z and /E options they will
both use the same Privilege level range, but the Expiration fields
will be updated before the database gets "Zapped".
*
The Sort option may look complex, but it works the same as if you
were to enter the options from inside the program. If you just specify
/O then all the defaults will be used. {1st} and {2nd} are the primary
and secondary sort keys respectively. For the Name and Alias you can
specify a second letter for the first or last name (last name is the
default for both). {order} is either an 'A' or 'D' (ascending or
descending). The start and end are the stsrt and end records
respectively. Here are some examples:
SFUE17 /OPD,NLD,3,0
-- Sort records 3 to end by descending priv, descending last
name
SFUE17 /O,A,3
-- Sort records 3 to end by descending priv, descending last
alias name
SFUE17 /ONFA
-- Sort records 2 to end by ascending first name
SFUE17 /O,,3
-- Sort records 3 to end using the default sort order
Hope that's enough to give you an idea on how to sort from the command-
line. Once you're familiar with the keys you press from inside the
program, and when you get used to the format it gets pretty easy to use.
Basically, each key you press inside the program will go onto the
command-line, and wherever you just press <cr> to accept a default
you can just leave that key out.
*
Use /I to change the default parameters. NOTE: Not all parameters
saved in the INI file get priority. For example, if the OPUS environment
variable is pointing to a PRM file, it will be used instead of the name
stored in the INI file. The INI file is mainly used as a backup method
to make locating the files it needs more reliable.
*
By using the /E option you can automatically reset each users'
expiration date based on their last call. This is to be used in conjunction
with the Expiration Controls within Opus. If you don't specify the
day count on the command-line, SFUE17 will extract and use the value
in the PRM file. This feature makes it nice to make sure each user
will be removed if their account is inactive over a certain number of
days. This option is currently only available from the command-line.
*
*--===--*
Whenever there has been a modification to the current user record,
SFUE17 will place an asterisk '*' at the top right-hand side of the
screen. There are two things that SFUE17 *may* change automatically.
If the number of times a user has called the system is zero (0), it will
be changed to one (1). Also, if the user has QkMenu (Return to Last
Menu) turned on, SFUE17 will try to make sure the menu is valid to prevent
Opus from choking. :-)
Also, if the current users' account is going to "Expire" then their
status field will have a blinking red asterisk (*'s) on both sides of
the Status field.
As of v1.09 there is support to Tag records. If a record has been
Tagged, then a 'T' will be displayed on the top line just before the User
Status. Records will only remain tagged for the current session.
There are now two indicators in ScrnSect 1 (as of v1.08). The one
that you probably won't see is the '[COPY]' indicator. This indicates
that you are NOT currently editing the database that Opus uses. If you
are editing the actual database that Opus uses, then you won't see the
'[COPY]'. The other indicator is '*CWF*' which indicates that the user
being displayed has a CWF file in the Opus root directory (#.?BS). This
is displayed whether you're editing a copy of the database or the real one.
When using the Inactivity timer, the program will beep at 5 second
intervals starting 20 seconds before exiting.
**==--==**
** NOTE: SFUE17 will always try to show the users' Real Name in
the Name field and their Alias in the Alias field as of
v1.08 (based on the information in the PRM file).
The help screen inside the program takes priority over this file.
In the lower right-hand corner of the User Screen are the most used
commands that are available in all ScreenSections. Below is a brief
description of what they do:
?) Help: Displays a help screen.
R) Record Number: This allows you to go to a specific record number
within the database.
@) Tag/Untag: This will toggle whether a user record has been marked
as 'Tagged'.
*) Utilities: This is for maintaining the database. Options are:
Adduser: If you need to add a user, this is what you'll use.
It has gives you the option of just adding a record
at the end of the database, or searching for a record
marked with the "Reuse" status. If you choose to
search for a record to Reuse, and there is a record
marked with the Reuse status, then that record will be
cleared of its information and you may start entering
the new user information in that record.
rEstore: This is if you want to add the users in USER.SAV back into
the database. If successful, USER.SAV will be deleted
and a new USER.SAV will be created with a size of zero
bytes. This will allow you to Undelete the old savefile
if necessary.
Find : This allows you to search certain fields for a string.
It's useful for finding a specific user quickly, among
other things. (Previously called Search)
Global : Allows you to make certain changes to specific (or all)
users. You may specify to set only a certain privilege
level, or the default is all records (record #1 will
NOT be touched). There are also sub-levels that I
don't feel like going into.
-=***=-
I feel that the options for changing Keys and Sections
may cause some confusion. With those two options there
are 4 sub-options [Exact/Set/Toggle/Unselect]:
Exact: Set each user to exactly the keys you
specify. If you only select the 'A' key,
that's the only key the users' will have
no matter what they started out with.
Set: All keys you specify will be turned ON for
each user.
Toggle: Exactly what it says... If you select the 'A'
key each users' keys will be set to the
opposite it started out as.
Unselect: The opposite of Set. It will make sure each
key you select is turned OFF.
sOrt : This will sort your database based on the keys you
select, and whether you select Ascending or Descending
order for each key. You may select up to two keys to
sort by. If the database you're sorting is the same
one pointed to by the PRM file, then the CWF's will
be updated accordingly. If there is a problem renaming
a CWF, it will be most probably be renamed with a .BAK
extension.
User Status: This allows you to modify the status of a user's
record. The Status can be one of the following:
Normal: This is a normal record.
Reuse : As new users are added, they will be
placed in records marked with this
status instead of being added to the
end of the database.
Purge : This means that if you use the Zap
function, the record will be removed
from the database. Also used by OMAN.
Update ID : This will update the caller ID number
but should only be used if the
caller_ID is all zero's or in conflict
with another record.
sWap : This allows you to swap any two records with each other.
Report : This generates a report for all users and sends it either
to the Screen, Printer, or a File. You can Pause the
output by pressing 'P', or have an option to Abort by
pressing 'ESC'. You are asked several questions about
how the report should be, but I don't have the time to
go into detail explaining it... However, I will state
that SFUE17 will NOT send control codes to the printer,
but only format the report appropriately. Setting your
printer into the proper font size and LPI setting is
up to you. When sending to the printer or a file, there
will be a progress indicator (percent complete).
Zap : This removes any records marked with the Purge status.
Also you can specify the number of days a user can go
without calling the system before he/she is removed
from the database. In addition you can check the
expiration fields and localize processing to certain
privilege levels. This option is also available from
the command-line. By default a file called USER.SAV
will be used to place any deleted records into. Also,
the names of any deleted users will be placed into a
file with the same basename as the save file, but with
a ".DEL" extension. (i.e. USER.DEL) You may restore
the records by using the Import option. If the
database you're zapping is the same one pointed to
by the PRM file, then the CWF's will be updated
accordingly. The CWF's of user's that are removed
from the database will be renamed from #.BBS to #.OLD.
+/-) Change Record Number:
You can use either the plus and minus keys to
increment/decrement the record number respectively,
or use the right and left arrow keys to do the same
thing. Home and End will place you at the first and
last records respectively.
ESC) Quit: If you have made any changes to the current record without
going to another record, you will be asked if you want to
save the user information before exiting. ** Anytime you
change to another record, the current record is saved to
disk if it has been modified. **
SPACE) {SpaceBar} ScrnSect:
Changes the current Screen Section. The active ScrnSect is
displayed at the top of the screen. The Screen Sections are
at the left side of each box border. A ScrnSect must be
active in order for its commands to be active. Also when a
ScrnSect is active, the number next to the active box will
BLINK.
The ScrnSect can also be changed with the up and down arrow
keys to decrement/increment the ScrnSect number respectively.
0) Continue Search:
Only valid/displayed if you have already specified a search
key. This allows you to continue searching on the previously
entered search key starting at the next record.
F9) DOS Shell:
Exactly what it says, and the User Editor IS swapped out
of memory.
INS) Add New User:
Same as using the *Utils/Adduser option.
DEL) Toggle User Status:
An easy method of changing a user's status.
Status is one of the following: Normal, ReUse, Purge
CTRL-H) Toggle Hidden Passwords:
Toggles Privilege to not display passwords for. Either
Normal or Sysop access. Default is Normal.
CTRL-I) Update Index:
Forces the NDX file to be updated (via index program).
CTRL-N or CTRL-RIGHT) Next Tagged Record:
For easy viewing of Tagged records.
CTRL-P or CTRL-LEFT) Previous Tagged Record:
For easy viewing of Tagged records.
CTRL-R) Re-Load Record:
Reads in the current user from disk. Use in case you make
some changes to the record and decide you really didn't
want to do that. :)
CTRL-S) Save Options:
Saves the current options as the defaults to the INI file.
CTRL-X) Toggle IBM Graphics:
Toggles IBM Graphics conversion ON/OFF.
***=> If you have the inactivity timer set, SFUE17 will save the current
record and update the index *if necessary* (and nobody is online) before
exiting.
**==--==**
STRING EDITING:
--------------
When using either BIOS or DIRECT screen writes you now have full
editing capabilities when entering in strings. Valid keys are:
Left/Right Arrow Keys: Moves cursor one character left/right within string.
HOME/END: Places the cursor at the beginning/end of the
string being edited.
INSert: Toggles Insert mode ON/OFF. When ON the cursor
will change to more of a block cursor, and when
not in insert mode the cursor will appear normal.
DELete: Deletes the character under the cursor.
F6: Deletes everything from the cursor to the end of
the string.
When using DOS mode you can clear the string by pressing the SPACEBAR
for the first character and then pressing ENTER.
**==--==**
I hope this is enough of a program description to get you familiar with
the program. For Opus v1.7+ the ScrnSect is not the same as the "Section" in
Opus.
Currently this Editor doesn't contain an internal index updating function.
You will need to use the USERNDX program that is distributed with Opus v1.7+.
The Editor will call USERNDX when exiting whenever it thinks the Index needs
to be updated. USERNDX will only be called when you have made changes inside
the Editor that might change the NDX file. USERNDX should either be located
in the PATH, or in the same directory as your user database, or in your Opus
Home Directory. Once all the drive/path information has been found once, it's
stored in an INI file so SFUE17 can always find the needed files (unless
they're moved). ;-)
------------------------------------------------------
***********************
* Report Information: *
***********************
**
Report Detail Info (80-column output):
------------------------------------------------------
Detail Group 1:
A = User Record Number (Width = 5)
B = User Name (Real) (Width = 26)
C = Phone Number (Width = 15)
D = City, State (Width = 25)
--
Detail Group 2:
E = Street Address (Width = 26)
F = Answer to SysOp Question (Width = 43)
--
Detail Group 3:
G = SysOp Comment (Width = 44)
H = Birthdate (Width = 9)
I = Access Privilege (Width = 9)
J = Language Number (Width = 1)
--
Detail Group 4:
K = Keys (Width = 32)
L = Download:Upload Ratio (Width = 9)
M = Days Since Last Call (Width = 4)
N = Password (optional) (Width = 15)
------------------------------------------------------
**
Report Detail Info (132-column output):
------------------------------------------------------
Detail Group 1:
A = User Record Number (Width = 5)
B = User Name (Real) (Width = 26)
C = Phone Number (Width = 15)
D = City, State (Width = 25)
E = Street Address (Width = 25)
F = Alias (Width = 20)
--
Detail Group 2:
G = Answer to SysOp Question (Width = 44)
H = SysOp Comment (Width = 45)
I = Birthdate (Width = 9)
J = Password (optional) (Width = 15)
--
Detail Group 3:
K = Access Privilege (Width = 9)
L = Keys (Width = 32)
M = Download:Upload Ratio (Width = 9)
N = Days Since Last Call (Width = 4)
O = First Call to System (Width = 11)
P = Language (Width = 10)
------------------------------------------------------
Errorlevels:
8: User Currently Online
7: Writing INI Structure
6: Creating INI File
5: Error Opening User Database
4: User Database NOT Found
3: Writing Record
2: Reading Record
1: Unsuccessful (General Error)
------------------------------------------------------
Credits:
~~~~~~~
This product uses the SPAWNO routines by Ralf Brown to minimize
memory usage while shelling to DOS and running other programs.
Sort routine written by R. Gardner and supplied within Bob Stout's
SNIPPETS file.
PKLITE Copyright PKWARE, Inc.
-={**}=-
Thank You for taking your time to read this, and use my program.
If you have any comments or suggestions, I'd like to hear from you.
Please contact me if you have any problems with the program, or you
would like to see any added features. You may contact me (via NetMail)
at the phone number (or FidoNet Address) listed below. I also read the
NEWOPUS and MEADOW Echo's. The latest version of my software is also
available on my BBS. It may be requested with the magic name of "SFUE17"
for the Opus 1.7+ version, and "SFUE11" for the Opus 1.1x version.
--=={ Kevin Silcox ------
SysOp of:
StormFront
in Orangevale, California
(916) 988-0407
FidoNet (1:203/407.0)
CalNet (49:916/407.0)
BBS Hours:
Conditionally 23 hours a day,
but definately between:
11:00 p.m. and 11:00 a.m
excluding National Mail Hour:
2:00 a.m to 3:00 a.m PDT
Special Thanks to my Beta Test Team, the Opus Utility Team, and the
users for making suggestions that have increased the flexibility and
power of SFUE17, and especially for finding those little critters that
lurk around in software!